package org.yzhzc.system.manager;

import org.yzhzc.common.core.constants.CacheConstants;
import org.yzhzc.common.redis.service.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 问题缓存管理器，用于操作 Redis 中的缓存数据。
 * 主要负责添加和删除缓存中的问题数据。
 */
@Component
public class QuestionCacheManager {

    @Autowired
    private RedisService redisService;

    /**
     * 将问题ID添加到 Redis 缓存中（列表）。
     *
     * @param questionId 题目ID
     * 该方法将题目ID添加到 Redis 的问题列表中，用于缓存管理。
     */
    public void addCache(Long questionId) {
        // 将题目ID添加到缓存的列表中
        redisService.leftPushForList(CacheConstants.QUESTION_LIST, questionId);
    }

    /**
     * 从 Redis 缓存中删除指定题目ID。
     *
     * @param questionId 题目ID
     * 该方法将从缓存的列表中删除指定的题目ID，用于清除缓存数据。
     */
    public void deleteCache(Long questionId) {
        // 从缓存的列表中删除题目ID
        redisService.removeForList(CacheConstants.QUESTION_LIST, questionId);
    }
}
